/*
 * TDS PEC 4
 * Grupo 3H2M
 * 
 * El paquete <code>edu.uoc.tds.pec4.rmi</code> contiene los interfaces
 * usados tanto por el servidor como por la aplicación cliente.
 *
 */
package edu.uoc.tds.pec4.rmi;

import edu.uoc.tds.pec4.beans.RankingAulaDTO;
import edu.uoc.tds.pec4.beans.RankingClienteDTO;
import edu.uoc.tds.pec4.beans.RankingLocalizacionDTO;
import edu.uoc.tds.pec4.beans.RentabilidadAulaDTO;
import edu.uoc.tds.pec4.beans.RentabilidadClienteDTO;
import edu.uoc.tds.pec4.beans.RentabilidadLocalizacionDTO;
import edu.uoc.tds.pec4.common.filters.FiltroFechas;
import edu.uoc.tds.pec4.common.filters.FiltroLocalizacion;
import edu.uoc.tds.pec4.server.bbdd.exceptions.GestorEstadisticasException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;

/**
 * La interfaz <code>GestorEstadisticasInterface</code> especifica los métodos 
 * que se pueden invocar de forma remota para los listados y estadísticas que
 * ofrece el ss de estadísticas
 *
 * Representa el objeto remoto que se invoca en la comunicación RMI para 
 * servicios del subsistema de Estadísticas
 *
 * @author	Grupo 3H2M
 * @version	05/12/2011
 */
public interface GestorEstadisticasInterface extends Remote {
    
    public List<RankingAulaDTO> getRankingAulas (FiltroLocalizacion filtroLoc,
            FiltroFechas filtroFechas, Boolean agrupaMeses, Boolean agrupaLocal, int top) throws RemoteException,
            GestorEstadisticasException;   
    
    public List<RankingLocalizacionDTO> getRankingLocalizaciones (FiltroLocalizacion filtroLoc,
            FiltroFechas filtroFechas, Boolean agrupaMeses, Boolean agrupaLocal, int top) throws RemoteException,
            GestorEstadisticasException;
    
    public List<RankingClienteDTO> getRankingClientes (FiltroLocalizacion filtroLoc,
            FiltroFechas filtroFechas, Boolean agrupaMeses, Boolean agrupaLocal, int top) throws RemoteException,
            GestorEstadisticasException;
    
    public List<RentabilidadAulaDTO> getRentabilidadAulas (FiltroLocalizacion filtroLoc,
            FiltroFechas filtroFechas, int tipoLocalizacion, int top) throws RemoteException,
            GestorEstadisticasException;
    
    public List<RentabilidadClienteDTO> getRentabilidadClientes (FiltroLocalizacion filtroLoc,
            FiltroFechas filtroFechas, int tipoLocalizacion, int top) throws RemoteException,
            GestorEstadisticasException;
    
    public List<RentabilidadLocalizacionDTO> getRentabilidadLocalizacion (FiltroLocalizacion filtroLoc,
            FiltroFechas filtroFechas, int tipoLocalizacion, int top) throws RemoteException,
            GestorEstadisticasException;
    
}
